package com.janko.springbootbase.controller.delay;

import io.netty.util.Timeout;
import io.netty.util.TimerTask;

/**
 * @Description 基于netty实现的延时队列
 * @Author nieyankang
 * @Version 1.0
 * @date 2020-10-9 16:08:17
 */
public class Delay_Netty implements TimerTask {
    /**
     * 优点:效率高,任务触发时间延迟时间比delayQueue低，代码复杂度比delayQueue低。
     * 缺点:(1)服务器重启后，数据全部消失，怕宕机
     *    (2)集群扩展相当麻烦
     *    (3)因为内存条件限制的原因，比如下单未付款的订单数太多，那么很容易就出现OOM异常
     */

    boolean flag;
    public  Delay_Netty(boolean flag){
        this.flag=flag;
    }

    @Override
    public void run(Timeout timeout) throws Exception {
        System.out.println("要去数据库删除数据了");
        this.flag=false;
    }
}
